﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using FacturacionII.Modelo;
namespace FacturacionII.Clases
{
    class clsConfiguracion 
    {
        facturacionEntities objFacturacionEntidades;

        public void Guardar(string ruc, string razonSocial, string nombreComercial,
            int giro, string direccion, int distrito, string telefono, string celular,
                string email, decimal igv, decimal utilidad, int usuario)
        {
            objFacturacionEntidades = new facturacionEntities();
            configuracion confg = new configuracion 
            {
                ruc = ruc,
                razon_social = razonSocial,
                nombre_comercial = nombreComercial,
                id_giro = giro,
                direccion = direccion,
                id_distrito = distrito,
                telefono = telefono,
                celular = celular,
                email = email,
                igv = igv,
                utilidad = utilidad,
                id_usuario = usuario,
                fecha_registro = DateTime.Now
            };
            objFacturacionEntidades.AddToconfiguracion(confg);
            objFacturacionEntidades.SaveChanges();
        }

        public void GuardarCambios(int id, string ruc, string razonSocial, string nombreComercial,
            int giro, string direccion, int distrito, string telefono, string celular,
                string email, decimal igv, decimal utilidad, int usuario)
        {
            objFacturacionEntidades = new facturacionEntities();
            configuracion confg = objFacturacionEntidades.configuracion.FirstOrDefault(
                a => a.id == id);

            confg.ruc = ruc;
            confg.razon_social = razonSocial;
            confg.nombre_comercial = nombreComercial;
            confg.id_giro = giro;
            confg.direccion = direccion;
            confg.id_distrito = distrito;
            confg.telefono = telefono;
            confg.celular = celular;
            confg.email = email;
            confg.igv = igv;
            confg.utilidad = utilidad;
            confg.id_usuario = usuario;
            confg.fecha_registro = DateTime.Now;

            objFacturacionEntidades.SaveChanges();
        }

        public ArrayList CargarDatosConfiguracion()
        {
            ArrayList lista = new ArrayList();
            objFacturacionEntidades = new facturacionEntities();
            var listaQuery = from e in objFacturacionEntidades.configuracion
                             select e;
            foreach (var datos in listaQuery)
            {
                lista.Add(datos);
            }

            return lista;
        }

        public ArrayList CargarComboBoxConfiguracion()
        {
            objFacturacionEntidades = new facturacionEntities();
            ArrayList lista = new ArrayList();
            var configuracion = from c in objFacturacionEntidades.configuracion
                                orderby c.razon_social
                                select new { CODIGO = c.id, RAZON_SOCIAL = c.razon_social };
            foreach (var datos in configuracion)
            {
                lista.Add(datos);
            }

            return lista;
        }
    }
}
